﻿<!DOCTYPE html>
<html>
<head>
   <title>Road Computations General Interface</title>
   <meta name="generator" content="Help & Manual">
   <meta name="keywords" content="">
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <link type="text/css" href="default.css" rel="stylesheet">
   <link type="text/css" href="custom.css" rel="stylesheet">
   <script type="text/javascript" src="nsh.js"></script>
   
<!-- non-scrolling headers for CHM and browser-based help, local styles-->
<style TYPE="text/css" media="screen"> 
   <!-- 
   body {    
      margin:0; 
      padding:0; 
      overflow: auto; 
      background: #edede9; 
   } 
   #idheader { 
      width:100%; 
      height:auto; 
      padding: 0; 
      margin: 0;     
} 
    #idheaderbg  {
    background: #E40A00; 
}
#idheadernowrap  {
    white-space:nowrap; 
}
    ul {list-style-type: lower-roman}
   -->
   </style>
   
<style TYPE="text/css" MEDIA="print">
<!--
/* Hide navigation links and add space between header
     and text in the printed version. Not valid for eBooks. */
#idnav { display:none;	 }
.topichead { padding: 5px 5px 20px 5px; }
-->
</style>   
   <script type="text/javascript" src="jquery.js"></script>
   <script type="text/javascript" src="helpman_settings.js"></script>
   <script type="text/javascript" src="helpman_topicinit.js"></script>

   <script type="text/javascript">
     HMSyncTOC("index.html", "vi-road_computations_general_interface.htm");
   </script>
   <script type="text/javascript" src="highlight.js"></script>
   <script type="text/javascript">
     $(document).ready(function(){highlight();});
   </script>
</head>
<body>

<!--ZOOMSTOP-->

<div id="idheader" >
<div id="idheaderbg">
<table width="100%" border="0" cellspacing="0" cellpadding="0" 
       style="margin: 0px; color: #D7D7D7;">

  <tr valign="middle">
    <td align="left" valign="middle" class="topichead">
    <!--<div id="idheadernowrap">-->
    <p class="crumbs" id="idnav"><b>Navigation:</b>&nbsp;
   &raquo;No topics above this level&laquo;
   </p>
      <h1 class="p_Heading1" style="page-break-after: avoid;"><span class="f_Heading1">VI-Road Computations General Interface</span></h1>

    <!--</div>-->
    </td>
    <td align="right" width="180" valign="middle" class="topichead" id="idnav">
    <div id="idheadernowrap">
    <a href="javascript: print();"
    		onmouseover="document.images.prntr.src='print_a.png'" 
        onmouseout="document.images.prntr.src='print_n.png'"
        ><img name="prntr" border="0" alt="Print this Topic" title="Print this Topic" src="print_n.png"
        ></a>&nbsp;&nbsp;
     <a href="drvsim_motioncueing_enabling_scrub_effect_in_vi-ca.htm"
        onmouseover="document.images.prev.src='back_a.png'" 
        onmouseout="document.images.prev.src='back_n.png'"
        ><img name=prev src="back_n.png" border=0 alt="Previous page"
        ></a><a href="drvsim_i_simwb_inst.htm"
        onmouseover="document.images.main.src='top_a.png'" 
        onmouseout="document.images.main.src='top_n.png'"><img name=main src="top_n.png" border=0 alt="Return to chapter overview"
        ></a><a href="building-and-running.htm"
        onmouseover="document.images.next.src='next_a.png'" 
        onmouseout="document.images.next.src='next_n.png'"><img name=next src="next_n.png" border=0 alt="Next page"
        ></a>
    </div>
    </td>
  </tr>
</table>
</div>

<!-- The following code displays Expand All/Collapse All links  below the header in topics containing toggles -->
  

</div>  



<div id="idcontent"><div id="innerdiv"> 
<!--ZOOMRESTART-->
<p class="p_Normal">External programs may access the VI-ROAD solver computations using the function VRcompute(), included in the crt_solver library.</p>
<p class="p_Normal">An example test program (vrgen_main.c) is provided within VI-grade products installation.</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Features of the VI-ROAD computations general interface (compared to legacy VI-ROAD interfaces):</p>
<p class="p_Normal">1. thread-safety. Computations made through VRcompute() are thread-safe on selected road models. </p>
<p class="p_Normal">2. allows multiple point contact computations, up to <span style="font-weight: bold;">50</span> concurrent points. The computations input points can be passed to the interface in a single call and are elaborated much more efficiently than using a &quot;single point&quot; loop.</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Limitations of the VI-ROAD general interface: &nbsp; &nbsp;</p>
<p class="p_Normal">1. it is supported only by the following road models: FLAT, MESH, EXTERNAL, OPEN-CRG</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Description of the interface parameters follows. Please note the the most of the definitions are implemented in the comp_publicdef.h file provided code sample.</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_FilesForm"><span style="font-weight: bold;">VRcompute(</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">//</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">// INPUT PARAMETERS</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">//</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;COMPUTATION_MODE</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int  &nbsp; &nbsp; &nbsp; &nbsp;ROAD_ID,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;ROAD_DISPATCHER_ID,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;SENSOR_ID,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;SIMULATION_CALC,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;SIMULATION_MODE, &nbsp; &nbsp; </span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const double &nbsp; &nbsp; &nbsp; &nbsp;SIMULATION_TIME,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;POINTS_NUMBER,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int &nbsp; &nbsp; &nbsp; &nbsp;INPUT_FORMAT,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const double* &nbsp; &nbsp; &nbsp; &nbsp;INPUT_DATA,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const double* &nbsp; &nbsp; &nbsp; &nbsp;AUX_PARAMETERS,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const char* &nbsp; ROAD_FILENAME,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">const int  &nbsp; &nbsp; &nbsp; &nbsp;OUTPUT_FORMAT,</span></p>
<p class="p_FilesForm"><span class="f_FilesForm">&nbsp;</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">//</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">// OUTPUT PARAMETERS</span></p>
<p class="p_FilesForm"><span class="f_FilesForm"> &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;//</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">double*  &nbsp; &nbsp; &nbsp; &nbsp;outputData,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">double*  &nbsp; &nbsp; &nbsp; &nbsp;auxOutput,</span></p>
<p class="p_FilesForm"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_FilesForm">int* &nbsp;   &nbsp; &nbsp; &nbsp; &nbsp;errorID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;);</span></p>
<p class="p_FilesForm"><span class="f_FilesForm">&nbsp;</span></p>
<p class="p_FilesForm"><span class="f_FilesForm">&nbsp;</span></p>
<div style="text-align: justify; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table style="border:solid 2px #000000; border-spacing:0px; border-collapse:collapse;">
<thead>
<tr style="text-align:left;vertical-align:top;">
<th style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span style="font-weight: bold;">VARIABLE NAME</span></p>
</th>
<th style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span style="font-weight: bold;">TYPE</span></p>
</th>
<th style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span style="font-weight: bold;"> SPECIFICATIONS</span></p>
</th>
</tr>
</thead>
<tbody>
<tr style="text-align:left;vertical-align:top;">
<td colspan="3" style="vertical-align:top; width:518px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm" style="font-size: 10pt; font-family: Arial,Helvetica,sans-serif; font-weight: bold;">INPUT</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">COMPUTATION_MODE</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road (interface) computation mode. Currently only ZERO (VCR_COMPUTATION_MODE_BASIC) is supported.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">ROAD_ID</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road numerical identifier. It is suggested to pass a ZERO value, to allow automatic setting of the road ID</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">ROAD_DISPATCHER_ID</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road model dispatcher ID. It should be ZERO to allow VI-ROAD to automatically select the road model</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">SENSOR_ID</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road sensor identifier. A completely independent set (thread) of computations is performed for each sensor. It is a good practice to pass the TIRE identifier here.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">SIMULATION_CALC</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the solver simulation calculation type. This parameter is related to the STI interface job flag.</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">0 &nbsp;(VC_CALC_INIT) = initialization call</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">1 &nbsp;(VC_CALC_STANDARD) = standard (normal) computations</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">3 &nbsp;(VC_CALC_DIFF) = differencing computations</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">4 &nbsp;(VC_CALC_TERMINATE) = termination (final) call</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">11(VC_CALC_SAVE) = data save call</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">12(VC_CALC_RESTORE) = data restore call </span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">SIMULATION_MODE</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the solver simulation mode.</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">0 (VC_SIM_STATIC) = statics analysis</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">1 (VC_SIM_DYNAMIC) = dynamics analysis</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">SIMULATION_TIME</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">double</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the solver simulation time</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">POINTS_NUMBER</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the number of input/output points to compute</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">INPUT_FORMAT</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the input format type. This value defines what input parameters are provided to the road computations.</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">Available format for the current version:</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">0 (VCR_INPUT_BASIC) = minimal input optimized for &nbsp;multiple points contact (MPC) simulations</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">INPUT_DATA</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">double* [..]</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road input parameters array. Description is provided below.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">AUX_PARAMETERS</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">double* [..]</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the the road auxiliary (input) parameters (*)</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">ROAD_FILENAME</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">char* [..]</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road data file name.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">OUTPUT_FORMAT</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the output format type. This value defines what output values are returned after the road computations.</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">Available output format for the current version:</span></p>
<p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">0 (VCR_OUTPUT_BASIC) = minimal output optimized for multiple points contact (MPC) simulations</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td colspan="3" style="vertical-align:top; width:518px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm" style="font-size: 10pt; font-family: Arial,Helvetica,sans-serif; font-weight: bold;">OUTPUT</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">outputData</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">double* [..]</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the road output parameters array. Description is provided below.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">auxOutput</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">double* [..]</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the the road auxiliary (output) parameters (*)</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td style="vertical-align:top; width:198px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: center;"><span class="f_FilesForm">errorID</span></p>
</td>
<td style="vertical-align:top; width:137px; padding:0px; border:solid thin #000000;"><p class="p_FilesForm" style="text-align: center;"><span class="f_FilesForm">int*</span></p>
</td>
<td style="vertical-align:top; width:380px; padding:0px; border:solid thin #000000;"><p class="p_Normal" style="text-align: left; margin: 0px 0px 0px 3px;"><span style="font-size: 9pt;">the error code. A value of ZERO means there were no errors during computations.</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">(*) not used for the time being</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">NOTE, all the input and output positional data are referred to the road reference system.</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">The input data array (INPUT_DATA) size and parameters type depends on the input format type (INPUT_FORMAT).</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">VCR_INPUT_BASIC format</p>
<p class="p_Normal">The array is made of sequential data block containing input points Cartesian coordinates (x, y, z values) so the final size of the array will be VCR_INP_BSC_SIZE * POINTS_NUMBER.</p>
<p class="p_Normal">Using convenience definitions (comp_publicdef.h):</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span>INPUT_DATA[VCR_INP_BSC_SIZE * POINTS_NUMBER] =</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span>{</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp;X<span style="font-size: 7pt; vertical-align: sub;">sp1</span>, Y<span style="font-size: 7pt; vertical-align: sub;">sp1</span>, Z<span style="font-size: 7pt; vertical-align: sub;">sp1</span>,</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp;...</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp;X<span style="font-size: 7pt; vertical-align: sub;">spn</span>, Y<span style="font-size: 7pt; vertical-align: sub;">spn</span>, Z<span style="font-size: 7pt; vertical-align: sub;">spn</span></p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span>}</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Where</p>
<p class="p_Normal">X, Y, Z = sensor point (sp) input coordinates</p>
<p class="p_Normal">&nbsp;</p>
<p style="text-align: left;"><span style="font-size: 12pt; font-family: Monaco; color: #058790;">&nbsp;</span></p>
<p class="p_Normal">The output data array (outputData) size and parameters type depends on the output format type (OUTPUT_FORMAT).</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">VCR_OUTPUT_BASIC format</p>
<p class="p_Normal">The basic (minimal) output consists of the road contact patch coordinates and related friction value, for a total of four values each input sensor point. The resulting size of the output array is VCR_OUT_BSC_SIZE * POINTS_NUMBER.</p>
<p class="p_Normal">Using the provided C defines:</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span>outputData[VCR_OUT_BSC_SIZE * POINTS_NUMBER] =</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span>{</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp;X<span style="font-size: 7pt; vertical-align: sub;">cp1</span>, Y<span style="font-size: 7pt; vertical-align: sub;">cp1</span>, Z<span style="font-size: 7pt; vertical-align: sub;">cp1</span>, MU<span style="font-size: 7pt; vertical-align: sub;">cp1</span>,</p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span> &nbsp;...</p>
<p class="p_Normal"> &nbsp; &nbsp; &nbsp; &nbsp;X<span style="font-size: 7pt; vertical-align: sub;">cpn</span>, Y<span style="font-size: 7pt; vertical-align: sub;">cpn</span>, Z<span style="font-size: 7pt; vertical-align: sub;">cpn</span>, MU<span style="font-size: 7pt; vertical-align: sub;">cpn</span></p>
<p class="p_Normal"><span style="width:48px;display:inline-block">&nbsp;</span>}</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Where</p>
<p class="p_Normal">X, Y, Z = contact point (cp) coordinates.</p>
<p class="p_Normal">MU = contact point friction</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal"><span style="font-weight: bold;">WARNING: use always the provided I/O size and channels definitions, as declared in comp_publicdef.h. Using definitions will ensure code portability among different version of VI-grade products</span>.</p>
<p class="p_Normal">&nbsp;</p>

<!--ZOOMSTOP-->
</div></div>
<script type="text/javascript"> 
<!-- 
var lastSlashPos = document.URL.lastIndexOf("/") >
document.URL.lastIndexOf("\\") ? document.URL.lastIndexOf("/") :
document.URL.lastIndexOf("\\");
if( document.URL.substring( lastSlashPos + 1, lastSlashPos + 4
).toLowerCase() != "~hh" )
{
    nsrInit();
}
--> 
</script> 
</body>
</html>
